/*
 *
 *  Copyright (C) 2012-2024
 *  All rights reserved, Designed By 杭州连线客信息技术有限公司
 *  注意：
 *  本软件为杭州连线客信息技术有限公司开发研制，未经购买不得使用
 *  购买后可获得全部源代码（禁止转卖、分享、上传到码云、github等开源平台）
 *  一经发现盗用、分享等行为，将追究法律责任，后果自负
 *
 */
package com.lxk.pay;

import com.lxk.pay.model.*;

import java.util.Map;

/**
 * 支付服务
 *
 * @author huahua
 * 2022/8/22
 */
public interface PayService {
    /**
     * 支付
     *
     * @param payRequestModel
     * @return
     */
    PayResultModel pay(PayRequestModel payRequestModel);

    /**
     * 回调处理
     *
     * @param params 微信处理方式：String xmlMsg = HttpKit.readData(HttpServletRequest );
     *               params=WxPayKit.xmlToMap(xmlMsg);
     *               支付宝处理方式：Map<String, String> params = AliPayApi.toMap(HttpServletRequest);
     * @param appId
     * @return
     */
    PayNotifyResultModel payNotify(Map<String, String> params, String appId);

    /**
     * 退款
     *
     * @param payRequestModel
     * @return
     */
    RefundResultModel refund(PayRefundModel payRequestModel);

    /**
     * 订单支付状态查询
     *
     * @param requestModel
     * @return
     */
    OrderQueryResultModel orderQuery(OrderQueryRequestModel requestModel);
}
